﻿// Cpp_Course_03_Other.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

#include "static_account.h"
#include "static_a.h"
#include "static_b.h"
#include "complex_template.h"
#include "function_template.h"

int main()
{
	//静态方法
	 //=========================================================================================
	//通过类名来调用静态方法   由于该类可能还未有实例  所以操作内部静态变量只能通过这个方法
	Account::set_rate(5.0);
	//通过实例对象来调用函数方法
	Account a;
	a.set_rate(7.0);

	//静态方法单例应用
	//=========================================================================================
	//在A未有实例前就对A内已存在的静态变量获得，后调用A内部的方法做其他操作  ， 是一种单例模式
	/*
	* 等效代码
	A& aa = A::getInstace();
	aa.setup();
	*/
	A::getInstace().setup();
	B::getInstance().setup();
	 

	//模板类使用
	//=========================================================================================
	complex <double> c1(2.5, 1.5);
	complex<int> c2(2, 6);


	//模板方法使用
	//=========================================================================================
	stone r1(2, 3, 3), r2(4, 5, 3), r3;
	r3 = min(r1, r2);

	/*
	大量其他细节
	operator type() const  探查类型函数
	explicit
	模板偏特化

	STL标准库


	
	*/


}

